package main

import (
	"bufio"
	"fmt"
	"io"
	"io/ioutil"
	"os"
)

func main() {
	//readFileTest()

	filePath := "D:\\Download\\测试文件11.txt"
	content := "sdfljsdflsddf时间代付时代峻峰接收到了房间了了时代峰峻律师代理费"
	WriteFile(filePath, content)
}

func readFileTest() {
	filePath := "D:\\Download\\111.txt"
	//1、一次性读取文件内容,还有一个 ReadAll的函数，也能读取
	data, err := ioutil.ReadFile(filePath)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("一次性读取：", string(data))

	//2、逐行读取
	file, err := os.Open(filePath) //打开
	if err != nil {
		fmt.Println(err)
		return
	}
	defer file.Close() //关闭

	line := bufio.NewReader(file)
	for {
		content, _, err := line.ReadLine()
		if err == io.EOF {
			break
		}
		fmt.Println("逐行读取：", string(content))
	}

	//3、按照字节数读取
	file, err = os.Open(filePath)
	if err != nil {
		fmt.Println(err)
		return
	}
	defer file.Close()
	//读取数据
	bs := make([]byte, 4)
	for {
		_, err = file.Read(bs)
		if err == io.EOF {
			break
		}
		fmt.Println("按字节读取：", string(bs))
	}
}

/**
 *  写入文件
 *  string name 文件名称
 *  byte content 文件内容
 */
func WriteFile(name string, content string) {
	if ioutil.WriteFile(name, []byte(content), 0644) == nil {
		fmt.Println("WriteFile")
	} else {
		fmt.Println("NOT WriteFile")
	}
}
